package c08Java集合;

import java.util.HashSet;
import java.util.Set;

/**
 * @author yuanwl
 * @date 2019-08-01 20:16
 */
public class Set交集差集并集 {
    public static void main(String[] args) {

        Set<String> result = new HashSet<String>();
        Set<String> set1 = new HashSet<String>() {
            {
                add("王者荣耀");
                add("英雄联盟");
                add("穿越火线");
                add("地下城与勇士");
            }
        };

        Set<String> set2 = new HashSet<String>() {
            {
                add("王者荣耀");
                add("地下城与勇士");
                add("魔兽世界");
            }
        };

        result.clear();
        result.addAll(set1);
        result.retainAll(set2);
        System.out.println("交集：" + result);

        result.clear();
        result.addAll(set1);
        result.removeAll(set2);
        System.out.println("差集：" + result);

        result.clear();
        result.addAll(set1);
        result.addAll(set2);
        System.out.println("并集：" + result);

//        System.err.println(set1.retainAll(set2)); //set1 的元素会被改变
//        System.err.println(set1);
//        System.err.println(set2);

        Set<String> res = new HashSet<>(set1);
        System.err.println(res.retainAll(set2));
        System.err.println(set1);
        System.err.println(res);

        Set<Integer> s1 = new HashSet<>();
        Integer i = null;
        System.err.println(s1.contains(i));
        Set<Integer> s2 = new HashSet<>();
//        s1.add(1);
//        s2.add(1);
        System.err.println(s1.containsAll(s2));
    }
}
